/**
 * 页面登录拦截
 */

import common from "@/utils";
// 页面白名单，不受拦截
const whiteList = ["pages/login/index"];
export function hasPermission(url: string) {
	return true;
	let islogin = uni.getStorageSync("isLogin"); //在这可以使用token,isLogin是登录成功后在本地存储登录标识
	islogin = Boolean(Number(islogin)); //返回布尔值
	// 在白名单中或有登录判断条件可以直接跳转
	if (whiteList.indexOf(url) !== -1 || islogin) {
		console.log("通过");
		return true;
	}

	common.toastErr("请先登录");
	return false;
}
export function reLaunchLogin() {
	setTimeout(() => {
		uni.reLaunch({
			url: "/pages/login/index"
		});
	}, 2000);
}
uni.addInterceptor("navigateTo", {
	// 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转
	invoke(e) {
		if (!hasPermission(e.url)) {
			reLaunchLogin();
			return false;
		}
		return true;
	},
	success(e) {}
});

uni.addInterceptor("switchTab", {
	// tabbar页面跳转前进行拦截
	invoke(e) {
		if (!hasPermission(e.url)) {
			reLaunchLogin();
			console.log("不在白名单内");
			return false;
		}
		console.log("在白名单内");
		return true;
	},
	success(e) {}
});
